#cookie-banner {
  position: fixed;
  opacity: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #39298C;
  color: #fff;
  padding: 1rem;
  box-shadow: 0 -3px 5px rgba(0,0,0,0.3);
  z-index: 999;
  transition: all 0.2s;
}

#cookie-banner.visible {
  opacity: 1;
}

#cookie-banner .wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  grid-gap: 1rem;
}

#cookie-banner p {
  margin: 0;
}

#cookie-banner .button {
  color: #fff;
  border-color: #fff;
  margin: 0;
}

#cookie-banner .button:hover,
#cookie-banner .button:focus,
#cookie-banner .button:active {
  opacity: 0.8;
}

#cookie-banner .close {
  position: absolute;
  top: 1rem;
  right: 0.5rem;
  cursor: pointer;
  width: 3rem;
  height: 3rem;
  text-align: center;
  z-index: 9999;
}

#cookie-banner .close svg {
  width: 24px;
}


#cookie-banner.closed {
  transform: translateY(100%);
}

body.cookie-banner-open #back-to-top {
  bottom: 150px;
}


@media only screen and (max-width: 1500px) {
  #cookie-banner .wrapper {
    padding-right: 3rem;
  }
}

@media only screen and (max-width: 768px) {
  body.cookie-banner-open #back-to-top {
    bottom: 200px;
  }
}

@media only screen and (max-width: 600px) {
  #cookie-banner .wrapper {
    grid-template-columns: 1fr;
    padding-right: 1rem;
    padding-top: 2rem;
  }

  #cookie-banner p {
    font-size: 0.875rem;
  }

  #cookie-banner .buttonWrapper {
    text-align: center;
  }

  body.cookie-banner-open #back-to-top {
    bottom: 300px;
  }
}

@media only screen and (max-width: 300px) {
  body.cookie-banner-open #back-to-top {
    bottom: 450px;
  }
}
